﻿using SD.Infrastructure.DTOBase;
using SlamDunk.MES.IAppService.DTOs.Outputs.FoundationContext;
using System;
using System.Runtime.Serialization;

namespace SlamDunk.MES.IAppService.DTOs.Outputs.MaintenanceContext
{
    /// <summary>
    /// 设备维护记录数据传输对象
    /// </summary>
    [DataContract]
    public class EquipmentMaintenanceInfo : BaseDTO
    {
        #region 设备维护类Id —— Guid EquipmentMaintainClassId
        /// <summary>
        /// 设备维护类Id
        /// </summary>
        [DataMember]
        public Guid EquipmentMaintainClassId { get; set; }
        #endregion

        #region 设备Id —— Guid EquipmentId
        /// <summary>
        /// 设备Id
        /// </summary>
        [DataMember]
        public Guid EquipmentId { get; set; }
        #endregion

        #region 设备资产Id —— Guid EquipmentAssetId
        /// <summary>
        /// 设备资产Id
        /// </summary>
        [DataMember]
        public Guid EquipmentAssetId { get; set; }
        #endregion

        #region 维护日期 —— DateTime MaintainedDate
        /// <summary>
        /// 维护日期
        /// </summary>
        [DataMember]
        public DateTime MaintainedDate { get; set; }
        #endregion

        #region 维护工时 —— decimal? MaintainedHour
        /// <summary>
        /// 维护工时
        /// </summary>
        [DataMember]
        public decimal? MaintainedHour { get; set; }
        #endregion

        #region 维护部位 —— string MaintainedParts
        /// <summary>
        /// 维护部位
        /// </summary>
        [DataMember]
        public string MaintainedParts { get; set; }
        #endregion

        #region 维护内容 —— string MaintainedContent
        /// <summary>
        /// 维护内容
        /// </summary>
        [DataMember]
        public string MaintainedContent { get; set; }
        #endregion

        #region 备件使用 —— string SparePartsUse
        /// <summary>
        /// 备件使用
        /// </summary>
        [DataMember]
        public string SparePartsUse { get; set; }
        #endregion

        #region 维护人 —— string Maintainer
        /// <summary>
        /// 维护人
        /// </summary>
        [DataMember]
        public string Maintainer { get; set; }
        #endregion

        #region 工厂模型Id —— Guid? FacilityId 
        /// <summary>
        /// 工厂模型Id
        /// </summary>
        [DataMember]
        public Guid? FacilityId { get; set; }
        #endregion

        #region 描述 —— string Description
        /// <summary>
        /// 描述
        /// </summary>
        [DataMember]
        public string Description { get; set; }
        #endregion


        //导航属性

        #region 导航属性 - 设备维护类 —— EquipmentMaintainClassInfo EquipmentMaintainClassInfo
        /// <summary>
        /// 导航属性 - 设备维护类
        /// </summary>
        [DataMember]
        public EquipmentMaintainClassInfo EquipmentMaintainClassInfo { get; set; }
        #endregion

        #region 导航属性 - 设备资产 —— EquipmentAssetInfo EquipmentAssetInfo
        /// <summary>
        /// 导航属性 - 设备资产
        /// </summary>
        [DataMember]
        public EquipmentAssetInfo EquipmentAssetInfo { get; set; }
        #endregion

        #region 导航属性 - 工厂模型 —— FacilityInfo FacilityInfo
        /// <summary>
        /// 导航属性 - 工厂模型
        /// </summary>
        [DataMember]
        public FacilityInfo FacilityInfo { get; set; }
        #endregion
    }
}
